Library

Since this library uses STL (Standard Template Library), it is 
necessary to know STL in order to understand the library.
Knowledge of string , list , iostream , fstream is sufficient.
============================================================
File filename.h, pathname.h 
============================================================
FileName is a class that handles file names and PathName is 
a class that handles path names.
------------------------------------------------------------
Class "FileName PathName"

This is a class that handles file names and path names.
It extracts extensions, base names, path names from
the file names and path names that are specified in const char*.
By using this class, it is possible to conduct such operations 
as extracting and changing extensions and base names and 
adding path names to file names.

For example, if you execute:

FileName fname("agb/bin/prev/prev.sh");
PathName pname("sample");
fname += pname;
std::cout << fname.c_str() << std::endl;

the result of the output would be:

agb/bin/prev/sample/prev.sh

Also, if you execute:
FileName fname("agb/bin/prev/prev.sh");
PathName pname("../../");
fname += pname;
std::cout << fname.c_str() << std::endl;

the result of the output would be:

agb/prev.sh

============================================================
File bmpstruct.h
============================================================
This is a header created not to include windows.h, 
rather than to read bitmap.
It is necessary to set the alignment of the structure as 2 bytes
if this header is included (even indirectly).

============================================================
*The following are the classes that exist in Name Space magbx.
============================================================
============================================================
File agbtypes.h
============================================================
Define the basic format of this library.
------------------------------------------------------------
Class "Rect"

Only this class exceptionally exists in Global Name Space.
This is a class that handles square area.
It can be considered as the Windows RECT Structure with
functions added to it.

------------------------------------------------------------
Class "AGBObject"

This is the basic form of the following classes.  However, 
this class itself is not capable of doing anything.

============================================================
File util.h 
============================================================
This file consists of utilities.  There are utilities that
handle maximum and minimum, functions that output numeric 
values by text and binary, and functions that obtain colors
from a character string.

============================================================
File image.h
============================================================
Define Template Class Image
------------------------------------------------------------
Class template<class _Ty> "Image"

This class is the base of library.
At this time, this class is indicated by "Image".
The image defined here is a "set of forms that have width and height."
It can copy rectangular area, assign values after specifying 
coordinate, and fetch, etc.

============================================================
File color.h 
============================================================
Define the class that handles colors.
------------------------------------------------------------
Class "Color"

This is a class that displays colors.
Internally, it uses Red , Green , Blue to save values, however,
it can fetch the color format of AGB by using the member 
variable Get.

------------------------------------------------------------

============================================================
File maptextunit.h
============================================================
Define the class that handles BG data.
------------------------------------------------------------
Class "MapTextUnit"

This class handles BG of AGB.
It keeps character numbers, vertical/horizontal invert and
palette numbers.
It can output BG as AGB format by using the member function Get.

------------------------------------------------------------

============================================================
The classes stated above are the basic parts and apply to 
the following. 
============================================================

============================================================
File palette.h
============================================================
Define the class that handles palette.
------------------------------------------------------------
Class "Palette"

This is the Color image.
The width is fixed as 16 and the height varies.
The entity of the class is similar to Image, however, it 
is different from Image in having ability to use values in one
dimension, while Image can only use values in two dimensions.
It can read .act, which is a Photoshop palette file.

------------------------------------------------------------

============================================================
File character.h , character16.h , character256.h
============================================================
Define the class that handles AGB sprite and BG basic
characters.
------------------------------------------------------------
Class "Character", "Character16", "Character256"

Character256 is same as Character.
This is an image whose width and height are both 8 and whose
form is u8.  Internally, it is similar to Image.
Character displays 8bit characters and Character16 displays 
4bit characters.

------------------------------------------------------------

============================================================
File charset.h , char16set.h , char256set.h
============================================================
Define the class that handles the set of BG characters of AGB.
------------------------------------------------------------
Class CharSet , Char16Set , Char256Set

Each is a set of Character, Character16, and Character256.
CharSet handles the scaling rotation BG characters of 256 colors,
Char16Set and Char256Set each handles the text BG characters 
of 16 colors and 256 colors accordingly.  The difference is
whether or not it regards vertical/horizontal invert characters 
as the same.

------------------------------------------------------------

============================================================
File maptextimage.h , mapsrimage.h
============================================================
Define the class that handles BG Screen Data of AGB.
------------------------------------------------------------
Class "MapTextImage", "MapSRImage"

This is the image of MapTextUnit.
SR is the abbreviation of ScaleRotate.
These classes handle the images that are sent to VRAM.
The output of MapTextImage is 16bit and MapSRImage is 8 bit.

------------------------------------------------------------

============================================================
File map.h , map16.h , map256.h
============================================================
Define the class that generates and handles AGB BG Data
------------------------------------------------------------
Class "Map", "Map16", "Map256"

As the names imply, each class has CharSet, Char16Set, 
Char256Set accordingly as its base.
Depending on the characteristics of each class, it also has 
MapSRImage, MapTextImage, MapTextImage accordingly.  It is 
the same for the characters it handles.
Check whether or not a character already exists with such order
as "Add character to coordinate (x,y)".  Add if it does not 
exit and create screen data in the coordinate.

------------------------------------------------------------

============================================================
File picture.h , hpicture.h
============================================================
Handle AGB Image Data
------------------------------------------------------------
Class "Picture", "HPicture"

These classes handle images.  Picture is the image with palette
and HPicture is the image without palette.
They can read and write bitmap.
Picture is u8 image and HPicture is color image.
H is an abbreviation for High Color.
When you want to use an image as AGB character, it is necessary to
split it to an 8 x 8 image.

------------------------------------------------------------


